package InterfaceOffer;

import java.util.Scanner;

// 2.项羽的密文
// 思路：顺时针读取矩阵的内容，直到字符0为止
// AC: 82% (超时)
public class GLDSolution2 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 首先输入方阵长度n
        int n = in.nextInt();
        // 接下来n行，每行输入n个字母(每行是一个字符串)
        char[][] pwd = new char[n][n];
        for (int i = 0; i < n; i++) {
            String row = in.next();
            for (int j = 0; j < n; j++) {
                pwd[i][j] = row.charAt(j);
            }
        }
        // 接下来开始顺时针旋转读取矩阵
        // 首先获得矩阵四个角的点坐标
        int x1 = 0, y1 = 0;
        int x2 = 0, y2 = n - 1;
        int x3 = n - 1, y3 = n - 1;
        int x4 = n - 1, y4 = 0;
        // 每次顺时针读取一圈，然后四个点分别向里面缩
        // 当出现y1==y2时，则这是最后一个字符
        // 当出现y1>y2时，则已经输出了所有字符
        // 当任意时候碰到字符0的时候，则终止程序，输出结果。
        String result = "";
        int i = 0, j = 0;
        while (y1 < y2) {
            for (int k = y1; k < y2; k++) {
                if (pwd[x1][k] != '0') {
                    result += pwd[x1][k];
                } else {
                    y1 = y2 + 1;
                    break;
                }
            }
            for (int k = x2; k < x3; k++) {
                if (pwd[k][y2] != '0') {
                    result += pwd[k][y2];
                } else {
                    y1 = y2 + 1;
                    break;
                }
            }
            for (int k = y3; k > y4; k--) {
                if (pwd[x3][k] != '0') {
                    result += pwd[x3][k];
                } else {
                    y1 = y2 + 1;
                    break;
                }
            }
            for (int k = x4; k > x1; k--) {
                if (pwd[k][y4] != '0') {
                    result += pwd[k][y4];
                } else {
                    y1 = y2 + 1;
                    break;
                }
            }
            // 然后四个坐标都往里面缩一个
            x1++;
            y1++;
            x2++;
            y2--;
            x3--;
            y3--;
            x4--;
            y4++;
        }
        // 最后考虑可能存在只剩一个数的情况
        if (y1 == y2 && pwd[x1][y1] != '0') {
            result += pwd[x1][y1];
        }
        System.out.println(result);
    }
}
